package com.compass.mobile.models

import androidx.annotation.NonNull
import java.io.Serializable

/**
 * Description： 医生首页信息
 * Date:2024/6/5 16:18
 */

data class DoctorHomePageWarp(
    val doctor: DoctorInfo,
    val config: Config,
    val buyStatus: BuyStatus,
    val hisDocResSchInfoParentVOList: MutableList<HisNumberTank>?,

    )


data class DoctorInfo(
    val id: String,
    val createTime: Long,
    val name: String,
    val mobile: String,
    val avatar: String,
    val sex: String,
    val hospitalName: String,
    val introduce: String,
    val hospitalLevel: String?,
    val departmentId: String,
    val departmentName: String,
    val positionName: String,
    val meritIllness: String?,
    val meritTherapeutic: String?,
    val follow: String,
    val authentication: String,
    val prescriptionAllow: String,
    val certifiedCode: String?,
    val practiceScope: String?,
    val qualifiedCode: String,
    val statistics: Statistics,
    val wyyxUser: WXUser,


)

data class Statistics(
    val consultationNum: String,
    val favorableRate: String,
    val followersNum: String,
    val answerSpeed: String,
)

data class WXUser(
    val accId: String,
    val token: String,
    val userUuid: String,
    val userToken: String,
    val nickname: String,
    val privateMeetingNum: String,
)

data class Config(
    val consultationStatus: String,
    val txtStatus: String, //是否开启图文咨询
    val txtPrice: String,
    val txtDate: String?,
    val txtTime: String?,
    val phoneStatus: String,
    var phonePrice: String,
    val phoneDate: String?,
    val phoneTime: String?,
    val videoStatus: String,
    val videoPrice: String,
    val videoDate: String?,
    val videoTime: String?,
    val medicalConsultationStatus: String,
    val medicalConsultationPrice: String,
    val txtConsultationId: String,
    val phoneConsultationId: String,
    val videoConsultationId: String
)

data class BuyStatus(
    val txtStatus: String,
    val phoneStatus: String,
    val videoStatus: String,
)

data class HisNumberTank(
    val pkSchres: String,
    val pkDept: String,
    val nameDept: String,
    val price: String,
    val reservationDateVOList: MutableList<ReservationDate>?,
)

data class ReservationDate(
    val name: String,
    val dateTime: Long,
    val yearMonthDay: String,
    val monthDay: String,
    val week: String,
    val am: NumberSource?,
    val pm: NumberSource?,
)

/**
 * {
 * "cntUnused":"5",
 * "codeEmp":"00202031",
 * "dateWork":"2024-06-25",
 * "nameDateslot":"上午",
 * "pkDept":"51bd9b70af344629a33850bd55d8171a",
 * "pkSch":"fe491d6d7250480ca6cfb849a332fd9b",
 * "pkSchres":"fe50c56069d0465492fc2d7e1cf30af7",
 * "price":"15",
 * "schresname":"辛丹（儿童口腔）",
 * "serviceCode":"002",
 * "serviceName":"专科挂号费",
 * "sortNo":"10",
 * "timeBegin":"08:00:00",
 * "timeEnd":"12:00:00"
 * }
 */
data class NumberSource(
    val cntUnused: String,
    val codeEmp: Long,
    val dateWork: String,
    val nameDateslot: String,
    val pkDept: String,
    val pkSch: String,
    val pkSchres: String,
    val price: String,
    val schresname: String,
    val serviceCode: String,
    val serviceName: String,
    val sortNo: String,
    val timeBegin: String,
    val timeEnd: String,
)